Google Authenticator,
谷歌动态口令,Google身份验证器Google Authenticator是谷歌推出的基于时间的
一次性密码(Time-based One-time Password,简称TOTP),只需要在手机上安装该
APP,就可以生成一个随着时间变化的一次性密码,用于帐户验证。
Google身份验证器是一款基于时间与哈希的一次性
密码算法的两步验证
软件令牌,此软件用于
Google的
认证服务。此项服务所使用的算法已列于RFC 6238和RFC 4226中。
Google身份验证器给予用户一个六位到八位的
一次性密码用于进行登录Google或其他站点时的附加验证。其同样可以给
第三方应用生成口令,例如
密码管家程序或
网络硬盘。先前版本的Google身份验证器
开放源代码,但之后的版本以
专有软件的形式公开。
2023年4月,Google Authenticator身份验证器应用获得了人们多年来一直要求的一项功能:云同步备份。在面向Android 和iOS推出的最新4.0版本中,谷歌添加了此功能,使其更加安全和方便。
通常,用户安装
身份验证程序在
智能手机上。为了登录到使用两步验证的网站或服务上,用户提供
用户名和密码后运行身份验证器进行额外验证。该
应用程序会生成六位数的一次性密码,而不同网站可能会生成同一密码。
在两步验证的保护之下,仅仅拥有用户名密码已不足以黑入账户。攻击者需要这组共享密钥或者拿到进行两步验证的
移动设备。另一种方法是进行
中间人攻击;若用户的电脑被木马侵入,则用户名、密码及一次性密码都将被木马所捕获,随后攻击者即可利用木马进行登录、监听或修改用户与网站的通信。
Google身份验证器在
Google Play商店上2017年9月16日以私有版权协议发布。Google在GitHub上开放了其身份验证器
源代码,并陈述如下:
“此开源计划包含了2.21版本的源代码。随后的版本中包含了Google特有的
工作流程,与此项目无关。”
Android版本的独立分支之一为FreeOTP,其基于Google在GitHub上所开源的最新版本。另外一个并非很火的分支OTP Authenticator也在Google Play上可供下载。
服务提供商为每个用户生成80位的密钥(然而
RFC 4226 §4要求使用128位并建议使用160位密钥)。它以16位、26位或者32位base32的
字符串亦或是
二维码的方式提供出来。客户端使用此密钥生成
HMAC-
SHA1。经过HMAC处理过的信息可能为: